package com.atguigu.yygh.msm.utils;

import com.cloopen.rest.sdk.CCPRestSmsSDK;
import org.apache.commons.lang.RandomStringUtils;

import java.util.HashMap;

/**
 * ClassName: SDKTestSendTemplateSMS
 * Package: com.atguigu.yygh.user.utilis
 *
 * @Date: 2021/8/23 14:45
 * @author: 浪漫
 * @Description:  发送短信工具类
 */
public class SDKTestSendTemplateSMS {
    /**
     * 发送验证码工具类
     *
     * @param phone 电话号码
     * @return 验证码
     */
    public static HashMap<String, Object> sms(String phone) {

        CCPRestSmsSDK restAPI = new CCPRestSmsSDK();
        // 初始化服务器地址和端口，生产环境配置成app.cloopen.com，端口是8883.
        restAPI.init("app.cloopen.com", "8883");
        // 初始化主账号名称和主账号令牌，登陆云通讯网站后，可在控制首页中看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN。
        restAPI.setAccount("8a216da87b52cabc017b71b1b3470712", "bfd02d0f97fe4d31a31c04fea2fd7221");
        // 请使用管理控制台中已创建应用的APPID。
        restAPI.setAppId("8a216da87b52cabc017b71b1b4280718");
        String code = RandomStringUtils.randomNumeric(6);
        //设置需要发送的手机号和发送的验证码及  过期时间
        // 发送的验证码，分钟数过期时间
        HashMap<String, Object> result = restAPI.sendTemplateSMS(phone, "1", new String[]{code, "5"});
        result.put("code",code);
//        if ("000000".equals(result.get("statusCode"))) {
//            return code;
//        } else {
//            //异常返回输出错误码和错误信息
//            String s = "错误码=" + result.get("statusCode") + " 错误信息= " + result.get("statusMsg");
//            return s;
//        }
        return result;
    }

    public static void main(String[] args) {
        HashMap<String, Object> sms = sms("15970574923");
        if(sms.get("statusMsg") != null){
            System.out.println("短信发送失败");
        }
        System.out.println(sms);
    }
}